package com.shujia.package_class;

import org.junit.Test;

public class PackDemo1 {

    @Test
    public void test3() {
        String str = "true";
        Boolean flag = Boolean.valueOf(str);

        Boolean boo = Boolean.parseBoolean(str);

        System.out.println(flag);
        System.out.println(boo);
        String str2 = boo + "";

        System.out.println(str2);
        str2 = boo.toString();
        System.out.println(str2);


    }

    @Test
    public void test2() {
        // 基本数据类型转换成字符串
        int a = 20;
        String str = 20 + "";

        double d = 12.3;
        String str2 = String.valueOf(d);

        System.out.println(str);
        System.out.println(str2);

        System.out.println(str instanceof String);
        System.out.println(str2 instanceof String);

        // 字符串转换成基本数据类型
        String str3 = "30";
        // Integer integer1 = new Integer(str);
        int i = new Integer(str);
        System.out.println(i);

        Integer integer2 = Integer.parseInt(str3);

        int k = Integer.parseInt(str3);


        // 自动拆装箱
        // 类型匹配的基本数据类型和引用数据类型, 可以自动进行转换
        int x = 20;
        Integer integer = x;
        int j = integer;

        Integer integer1 = Integer.valueOf(x);

        int m = integer1.intValue();

    }


    @Test
    public void test1() {
        // 装箱, 基本数据类型 -> 包装类的对象
        // int -> Integer
        // 通过构造方法来装箱
        int i = 10;
        Integer integer = new Integer(10);
        // 基本数据类型的包装类的对象 直接打印, 打印的是具体的值
        System.out.println(integer);

        byte b = 20;
        Byte by = new Byte(b);
        System.out.println(by);

        // 字符串 转换成 包装类
        String str = "30";
        // str = "aaa"; // NumberFormatException
        Integer integer1 = new Integer(str);
        System.out.println(integer1);


    }
}
